﻿namespace Cmn.Mis
{
    using Cmn;
    using Cmn.Cls;
    using System;
    using System.Collections;
    using System.Collections.Generic;
    using System.Data;
    using System.Runtime.InteropServices;
    using System.Text.RegularExpressions;

    public class FieldCheck
    {
        //private static Hashtable _FieldRegex = null;

        //public static string Check(string tableName, string fieldName, string txt)
        //{
        //    LoadFieldRegex();
        //    object obj2 = _FieldRegex[tableName.ToLower() + "." + fieldName.ToLower()];
        //    if ((obj2 != null) && !Regex.IsMatch(txt, ((RegexInfo) obj2).RegexContent, RegexOptions.IgnoreCase))
        //    {
        //        return ((RegexInfo) obj2).ErrorMsg;
        //    }
        //    return "";
        //}

        //public static bool CheckTableInfo(TableInfo tableInfo, ref string errorMsg)
        //{
        //    foreach (KeyValuePair<string, string> pair in tableInfo.FieldValueList)
        //    {
        //        errorMsg = Check(tableInfo.TableName, pair.Key, pair.Value);
        //        if (errorMsg != "")
        //        {
        //            return false;
        //        }
        //    }
        //    return true;
        //}

        //public static int GetRegex(string tableName, string controlName, ref string regexContent, ref string errorMsg)
        //{
        //    LoadFieldRegex();
        //    object obj2 = _FieldRegex[tableName.ToLower() + "." + controlName.Substring(3).ToLower()];
        //    if (obj2 == null)
        //    {
        //        return -1;
        //    }
        //    regexContent = ((RegexInfo) obj2).RegexContent;
        //    errorMsg = ((RegexInfo) obj2).ErrorMsg;
        //    return 0;
        //}

        //private static void LoadFieldRegex()
        //{
        //    if (_FieldRegex == null)
        //    {
        //        _FieldRegex = new Hashtable();
        //        DataTable table = DB.getDataTable("select TableName,FieldName,RegexContent,FieldDesc+' '+ErrorMsg as ErrorMsg from chkFieldRegex fr,chkRegex r where fr.RegexID=r.RegexID");
        //        if (table != null)
        //        {
        //            for (int i = 0; i < table.Rows.Count; i++)
        //            {
        //                RegexInfo info = new RegexInfo {
        //                    RegexContent = table.Rows[i]["RegexContent"].ToString(),
        //                    ErrorMsg = table.Rows[i]["ErrorMsg"].ToString()
        //                };
        //                _FieldRegex.Add(table.Rows[i]["TableName"].ToString().ToLower() + "." + table.Rows[i]["FieldName"].ToString().ToLower(), info);
        //            }
        //        }
        //    }
        //}

        //[StructLayout(LayoutKind.Sequential)]
        //private struct RegexInfo
        //{
        //    public string RegexContent;
        //    public string ErrorMsg;
        //}
    }
}

